package controlador;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.DefaultListModel;

import vista.Mensajes;

import negModel.Parte;
import negModelExcep.eSinFondos;

public class ControladorVistaComercio {
	
	private ControladorDeVentanas contVent;
	private CargarModelo cargador = new CargarModelo();	
	private Mensajes mens = new Mensajes();

	public ControladorVistaComercio (ControladorDeVentanas contVent){
		this.contVent=contVent;
	}

	
	private class EscuchaBotonComprar implements ActionListener
	{	public void actionPerformed(ActionEvent e){
		
			int indice=contVent.ObtenerIndicePartesComprar();
			if (indice>=0){
				Parte unaParte = contVent.ObtenerTaller().mostrarPartesParaComprar().devolverunaParte(indice);
    		
				try {
					contVent.ObtenerJugador().pagar(unaParte.getPrecio().getMonto());
					contVent.ObtenerJugador().agregarParteNueva(unaParte);
					contVent.ActualizarDinero();
				} catch (eSinFondos e2) {
					mens.sinFondos();
			}
    	}
	
		}
	}

	public ActionListener getListenerBotonComprar() {
		return new EscuchaBotonComprar();
	}



	private class EscuchaBotonVolver implements ActionListener
	{	public void actionPerformed(ActionEvent e)
		{
			contVent.AbrirVentanaTaller();
			contVent.ActualizarDinero();
			contVent.ActualizarVistaTallerAutos();
			contVent.OcultarVentanaComercio();
		}
	}

	public ActionListener getListenerBotonVolver() {
		return new EscuchaBotonVolver();
	}

	public DefaultListModel CargarModeloPartes() {
		return cargador.CargarModeloPartes(contVent.ObtenerTaller().mostrarPartesParaComprar());
	}
	
	
}
